Union Slices for Program Maintenance

نویسندگان

  • Árpád Beszédes
  • Csaba Faragó
  • Zsolt Mihály Szabó
  • János Csirik
  • Tibor Gyimóthy
چکیده

Owing to its relative simplicity and wide range of applications, static slices are specifically proposed for software maintenance and program understanding. Unfortunately, in many cases static slices are overly conservative and therefore too large to supply useful information to the software maintainer. Dynamic slicing methods can produce more precise results, but only for one test case. In this paper we introduce the concept of union slices (the union of dynamic slices for many test cases) and suggest using a combination of static and union slices. This way the size of program parts that need to be investigated can be reduced by concentrating on the most important parts first. We performed a series of experiments with our experimental implementation on three medium size C programs. Our initial results suggest that union slices are in most cases far smaller than the static slices, and that the growth rate of union slices (by adding more test cases) significantly declines after several representative executions of the program.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Unions of Slices Are Not Slices

Many approaches to slicing rely upon the ‘fact’ that the union of two static slices is a valid slice. It is known that static slices constructed using program dependence graph algorithms are valid slices [19]. However, this is not true for other forms of slicing. For example, it has been established that the union of two dynamic slices is not necessarily a valid dynamic slice [8]. In this paper...

متن کامل

Visualizing Program Slices

Program slicing is an automatic technique for determining which code in a program is relevant to a particular computation. Slicing has been applied in many areas, including program understanding, debugging, and maintenance. However, little attention has been paid to suitable interfaces for exploring program slices. We present an interface for program slicing that allows slicing at the statement...

متن کامل

A New Method to Compute Dynamic Slicing using Program Dependence Graph

Program slicing is one of the techniques of program analysis that allows an analyst to automatically extract portions of programs relevant to the program being analyzed. It is an alternative approach to develop reusable components from existing software. It is a very important part of software development and maintenance. It is used in a number of applications such as program analysis, program ...

متن کامل

A survey of program slicing techniques

A program slice consists of the parts of a program that (potentially) affect the values computed at some point of interest. Such a point of interest is referred to as a slicing criterion, and is typically specified by a location in the program in combination with a subset of the program’s variables. The task of computing program slices is called program slicing. The original definition of a pro...

متن کامل

Dynamic program slicing methods

A dynamic program slice is this part of a program that "affects" the computation of a variable of interest during program execution on a specific program input. Dynamic program slicing refers to a collection of program slicing methods that are based on program execution and may significantly reduce the size of a program slice because run-time information, collected during program execution, is ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002